obj0 - A$800, L$17FE
obj1 - A$4000,L$4FFE
titlepic.pic - A$4000,L$18C3
unpack - A$300,L$82
tonegen - A$300,L$C7

start is $8620

idpic.pak - A$4000,L$1447
p.packer now used to re-pack the title and unpak

$7FD: jump to $8600
$800-$1FFE: obj0
$2000-$6FFE: obj1
$7000-$8447:packed picture
$8480-$84FF:unpack routine
$8500-$85C7:tonegen
$8600: set up stuff


move tonegen to $300
move setup(self) to $BA00
jump to $BA1D to continue
move packed picture+unpack to $A500 (tromps DOS) [slid up to make room for scores]
move obj1 to $4000
unpack title
clean up the high score buffers; use the $89FB routine and just copy around
jump to $8620

From the original disk that runs David-Dos, there's a jump to $818E somehow stored in the keyboard buffer ($200), so fix that. [Was a direct RWTS read from track $11, sector $0c]

Ah - it's reading in from disk still! (through DOS RWTS via $3D9 - it's for the high scores)


Change all these to bypass going through the keyboard buffer to instead go directly to $818E:

JSRs to $200:
$15CD
$19A6
$1AB4
$1B58

$4000-$7FFF looks like sparse graphics data - could be packed, but meh.

Routine at $89FB formats $A100-$A1FF with runs of four $#00 and ten #$A0.

Routine at $8B76 reads in the high scores from track $11, sectors $0F, $0E, $0D; then continues at $8B8B to read sector $0C to pick up the JMP $818E into the keyboard buffer at $200; then restores the buffer to $A000. The real catalog starts at track $11, sector $0B (so the original crack disk had been modified).

Routine at $8BB8 copies data from $A000 to $A200[$A300][$A400] (based on page count stored in $7BF2; starts at #$02 and decrements down). $A000 is the RWTS read/write buffer.

$8BEE is the IOB
$8BF2 is the track
$8BF3 is the sector
$8BF6/F7 is the lo/hi buffer address (default is $A000)
$8BFA is the command code (#$01 is read; #$02 is write)

For now, disable the RWTS call by placing RTS (#$60) instead of JSR (#$20) at $8BEA (was JSR $03D9, will now just return).  So no raw track/sector reads/writes.  Gives up saving high scores, but now allows portable file.


file length is now L$7F03


Now want to re-wire to display the title screen correctly on a game restart instead of just leaving the screen on the last game screen.
Seems to loop back to $8647, so hook the screen unpack re-wire to there.[done]

Believe the original publisher was 'Morningstar', so restore that instead of 'krac-ware'.

Hot Rod
July 2012


